ロッキングプロトコル locking protocol
定義
トランザクションがデータ項目xを読み書きする際にまずxをロックする
もしロックしようとするデータ項目が他のトランザクションによってロックされていればそれをロックすることはできない
トランザクションはデータ項目のロックが不要になったらアンロックする
ロック両立性行列 compatibility matrix
単にロッキングプロトコルに従っただけでは相反直列可能性を保証されない
データベースの一貫性が保証されるとは限らない
2相ロック Two-Phase Lock(2PL)
は直列化可能性を保証する
ロッキングプロトコルの効率改善として
共有ロック Shared Locks
と
排他ロック Exclusive Locks
に分けることでTPSを改善する